home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGBLER / WHIZZARD.LZH / SCRLDN.ASM < prev    next >
Assembly Source File  |  1983-06-27  |  2KB  |  96 lines

  1. COMMENT *
  2.  
  3.                  CLUBware  (tm)
  4.  
  5.       SCRLDN scrolls down a window on the screen.
  6.  
  7.            Copyright 1984 Rayhawk Automation N.W. Inc
  8.                   P.O. Box 1427
  9.                   Beaverton, Oregon   97075
  10.  
  11.  
  12.       Algorithm:
  13.           Simply pass parameters to BIOS video AH = 6
  14.  
  15.  
  16.       CALL      SCRLDN ( STARTY% , STARTX% , ENDY% , ENDX% , COUNT% )
  17.  
  18.           ( STARTX% , STARTY% ) upper left corner of window
  19.  
  20.           ( ENDX% , ENDY% ) lower right corner of window
  21.  
  22.           1,1 is upper left corner
  23.  
  24.           COUNT%  count of lines to scroll up
  25.               = 0 means blank the entire window
  26.  
  27.                                           *
  28.  
  29. ;______________________________________________________________________________
  30.  
  31. ;  Normal assembly directives
  32.  
  33. CODE      SEGMENT PARA PUBLIC 'CODE'
  34.  
  35.       ASSUME  CS:CODE
  36.  
  37.       PUBLIC  SCRLDN
  38.  
  39. ;______________________________________________________________________________
  40.  
  41. SCRLDN      PROC      FAR
  42.  
  43.       PUSH      BP
  44.       MOV      BP,SP
  45.       PUSH      AX               ; save all registers used,
  46.       PUSH      BX               ;  no data segment local to this
  47.       PUSH      CX               ;  routine so segment registers
  48.       PUSH      DX               ;  are untouched.
  49.  
  50.  
  51. ;      ...      1) load the input parameters into registers
  52.  
  53.       MOV      BX,WORD PTR [BP+6]   ; address of COUNT%
  54.       MOV      AL,BYTE PTR [BX]     ; load count itself
  55.  
  56.       MOV      BX,WORD PTR [BP+8]   ; address of ENDX%
  57.       MOV      DL,BYTE PTR [BX]
  58.       DEC      DL
  59.  
  60.       MOV      BX,WORD PTR [BP+10]  ; address of ENDY%
  61.       MOV      DH,BYTE PTR [BX]
  62.       DEC      DH
  63.  
  64.       MOV      BX,WORD PTR [BP+12]  ; address of STARTX%
  65.       MOV      CL,BYTE PTR [BX]
  66.       DEC      CL
  67.  
  68.       MOV      BX,WORD PTR [BP+14]  ; address of STARTY%
  69.       MOV      CH,BYTE PTR [BX]
  70.       DEC      CH
  71.  
  72.       MOV      BH,07h           ; use normal video attribute
  73.  
  74.  
  75. ;      ...      2) have BIOS scroll the window down
  76.  
  77.       MOV      AH,7
  78.       INT      10h
  79.  
  80.  
  81.       POP      DX
  82.       POP      CX
  83.       POP      BX
  84.       POP      AX
  85.       POP      BP
  86.       RET      10
  87.  
  88.  
  89. SCRLDN      ENDP
  90.  
  91. ;______________________________________________________________________________
  92.  
  93. CODE      ENDS
  94.  
  95.       END
  96.